Systems and methods for random access of slide content in recorded webinar presentations

ABSTRACT

A server computing device receives user input from a presenter to initiate a live webinar presentation comprising a plurality of slides. Responsive to receiving the user input to initiate the live webinar presentation, the server computing device monitors slide transitions triggered by the presenter and logging time stamp data for each slide transition, generates attendee participation data, and stores the live webinar presentation as a webinar presentation video, the time stamp data, and the attendee participation data. The server computing device obtains a request from a client device to view the stored webinar presentation video and partitions the webinar presentation video into slides based on the time stamp data. The server computing device causes a user interface to be displayed at the client device, the user interface displaying, for each slide, thumbnail graphical representations of each slide for playback of the stored webinar presentation based on a thumbnail graphical representation selected by the user.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority to, and the benefit of, U.S.Provisional Patent Application entitled, “System and method forretrieving and analyzing rich medias,” having Ser. No. 62/537,023, filedon Jul. 26, 2017, which is incorporated by reference in its entirety.

TECHNICAL FIELD

The present disclosure generally relates to multimedia content and moreparticularly, to systems and methods for providing random access ofslide content in the context of recorded webinar presentations.

BACKGROUND

Webinars or live web-based seminars allow presenters to presentinformation in real time, where presenters may include multimediacontent to further enhance the presentation. In some cases, webinarattendees may later wish to access archived webinars. However, withconventional live video streaming platforms, users are typically limitedto searching the webinar content from the beginning. Therefore, there isa need for an improved mechanism for efficiently accessing content inrecorded webinar presentations.

SUMMARY

In accordance with one embodiment, a server computing device receivesuser input from a presenter to initiate a live webinar presentationcomprising a plurality of slides. Responsive to receiving the user inputto initiate the live webinar presentation, the server computing devicemonitors slide transitions triggered by the presenter and logging timestamp data for each slide transition, generates attendee participationdata, and stores the live webinar presentation as a webinar presentationvideo, the time stamp data, and the attendee participation data. Theserver computing device obtains a request from a client device to viewthe stored webinar presentation video and partitions the webinarpresentation video into slides based on the time stamp data. The servercomputing device causes a user interface to be displayed at the clientdevice, the user interface displaying, for each slide, thumbnailgraphical representations of each slide for playback of the storedwebinar presentation based on a thumbnail graphical representationselected by the user.

Another embodiment is a system that comprises a memory storinginstructions and a processor coupled to the memory. The processor isconfigured by the instructions to receive user input from a presenter toinitiate a live webinar presentation comprising a plurality of slides.Responsive to receiving the user input to initiate the live webinarpresentation, the processor monitors slide transitions triggered by thepresenter and logging time stamp data for each slide transition,generates attendee participation data, and stores the live webinarpresentation as a webinar presentation video, the time stamp data, andthe attendee participation data. The processor obtains a request from aclient device to view the stored webinar presentation video andpartitions the webinar presentation video into slides based on the timestamp data. The processor causes a user interface to be displayed at theclient device, the user interface displaying, for each slide, thumbnailgraphical representations of each slide for playback of the storedwebinar presentation based on a thumbnail graphical representationselected by the user.

Another embodiment is a non-transitory computer-readable storage mediumstoring instructions to be implemented by a computing device having aprocessor, wherein the instructions, when executed by the processor,cause the computing device to receive user input from a presenter toinitiate a live webinar presentation comprising a plurality of slides.Responsive to receiving the user input to initiate the live webinarpresentation, the processor monitors slide transitions triggered by thepresenter and logging time stamp data for each slide transition,generates attendee participation data, and stores the live webinarpresentation as a webinar presentation video, the time stamp data, andthe attendee participation data. The processor obtains a request from aclient device to view the stored webinar presentation video andpartitions the webinar presentation video into slides based on the timestamp data. The processor causes a user interface to be displayed at theclient device, the user interface displaying, for each slide, thumbnailgraphical representations of each slide for playback of the storedwebinar presentation based on a thumbnail graphical representationselected by the user.

Other systems, methods, features, and advantages of the presentdisclosure will be or become apparent to one with skill in the art uponexamination of the following drawings and detailed description. It isintended that all such additional systems, methods, features, andadvantages be included within this description, be within the scope ofthe present disclosure, and be protected by the accompanying claims.

BRIEF DESCRIPTION OF THE DRAWINGS

Various aspects of the disclosure can be better understood withreference to the following drawings. The components in the drawings arenot necessarily to scale, with emphasis instead being placed uponclearly illustrating the principles of the present disclosure. Moreover,in the drawings, like reference numerals designate corresponding partsthroughout the several views.

FIG. 1 is a block diagram of a server computing device for providingrandom access of multimedia content in recorded webinar presentations inaccordance with various embodiments of the present disclosure.

FIG. 2 is a schematic diagram of the server computing device of FIG. 1for providing random access of multimedia content in recorded webinarpresentations in accordance with various embodiments of the presentdisclosure.

FIG. 3 is a top-level flowchart illustrating examples of functionalityimplemented as portions of the computing device of FIG. 1 for providingrandom access of multimedia content in recorded webinar presentationsaccording to various embodiments of the present disclosure.

FIG. 4 illustrates partitioning of a webinar presentation video intoslides based on time stamp data according to various embodiments of thepresent disclosure.

FIG. 5 illustrates an example user interface provided on a display of aclient device in FIG. 1 for accessing slides in a webinar presentationvideo according to various embodiments of the present disclosure.

FIG. 6 illustrates an example user interface provided on a display of aclient device in FIG. 1 for accessing multimedia content in a slide in awebinar presentation video according to various embodiments of thepresent disclosure.

FIG. 7 illustrates an example user interface provided on a display of aclient device in FIG. 1 for performing a keyword search for purposes ofaccessing slides in a webinar presentation video according to variousembodiments of the present disclosure.

FIG. 8 illustrates an example user interface provided on a display of aclient device in FIG. 1 during live presentation of a webinar accordingto various embodiments of the present disclosure.

FIG. 9 illustrates transition between a first mode of operation to asecond mode of operation by a user of a client device in FIG. 1 duringlive presentation of a webinar according to various embodiments of thepresent disclosure.

FIG. 10 illustrates transition between a second mode of operation to afirst mode of operation by a user of a client device in FIG. 1 duringlive presentation of a webinar according to various embodiments of thepresent disclosure.

FIG. 11 illustrates transition between a first mode of operation to afourth mode of operation by a user of a client device in FIG. 1 duringlive presentation of a webinar according to various embodiments of thepresent disclosure.

FIG. 12 illustrates transition between a fourth mode of operation to afifth mode of operation by a user of a client device in FIG. 1 duringlive presentation of a webinar according to various embodiments of thepresent disclosure.

FIG. 13 illustrates an example user interface provided on a display of aclient device in FIG. 1 for sorting content of a chat room sessionaccording to various embodiments.

FIG. 14 illustrates selectable sorting criteria in the example userinterface of FIG. 13 according to various embodiments.

FIG. 15 illustrates selection of sorting criteria by the user in theexample user interface of FIG. 13 according to various embodiments.

FIG. 16 illustrates application of the selected sorting criteria in theexample user interface of FIG. 13 according to various embodiments.

FIG. 17 illustrates selection of other sorting criteria by the user inthe example user interface of FIG. 13 according to various embodiments.

FIG. 18 illustrates application of the other selected sorting criteriain the example user interface of FIG. 13 according to variousembodiments.

DETAILED DESCRIPTION

Webinars are live web-based video conferences whereby attendees atremote locations hear and view presentations. Many times, presentersincorporate multimedia content (e.g., audio/video content, graphics,animation) to further enhance their presentations. Furthermore, theinteractive nature of webinars allows attendees to ask questions andchat with the host. In some cases, past attendees may wish to view anarchived webinar presentation by accessing a recorded video of thewebinar presentation. There is a need for an improved mechanism forefficiently accessing content in recorded webinar presentations. Variousembodiments are disclosed for allowing users to retrieve a recordedwebinar presentation video and for allowing users to efficiently searchand access the content of slides and corresponding multimedia.Specifically, the present invention allows users to efficiently navigateand search multimedia content of interest found in slides of a recordedwebinar presentation video without having to view the webinarpresentation video from the beginning.

A description of a system for accessing multimedia content in recordedwebinar presentations is now described followed by a discussion of theoperation of the components within the system. FIG. 1 is a block diagramof a server computing device 102 in which the techniques for providingrandom access of multimedia content in recorded webinar presentationsdisclosed herein may be implemented. The server computing device 102 maycomprise a server computer or any other system providing computingcapability. Alternatively, the server computing device 102 may employ aplurality of computing devices that can be arranged, for example, in oneor more server banks, computer banks or other arrangements. Suchcomputing devices can be located in a single installation or can bedistributed among different geographical locations.

A webinar service 104 executes on a processor of the server computingdevice 102 and allows presenters to host live webinar presentations. Thewebinar service 104 also allows attendees to participate in livewebinars as well as to play back recorded videos of past webinarpresentations. The server computing device 102 is coupled to a network120 such as, for example, the Internet, intranets, extranets, wide areanetworks (WANs), local area networks (LANs), wired networks, wirelessnetworks, or other suitable networks, etc., or any combination of two ormore such networks. Through the network, client devices 122 a, 122 b,122 c may be communicatively coupled to the server computing device 102for accessing both live webinar presentations as well as archivedwebinar presentations recorded as webinar presentation videos.

The webinar service 104 includes a tracker 106, a search engine 108, aslide generator 110, and an UI generator 112. The tracker 106 isconfigured to monitor events associated with live webinar presentations.For some embodiments, the tracker 106 receives user input from apresenter to initiate a live webinar presentation comprising a pluralityof slides. In response to receiving the user input to initiate the livewebinar presentation, the tracker 106 then performs various trackingoperations. The operations performed by the tracker 106 may includemonitoring slide transitions triggered by the presenter. Specifically,when the presenter transitions between slides, the tracker 106 logs timestamp data for each slide transition. This allows the webinar service104 to later extract slides from the recorded webinar presentationvideo, as described below.

The tracker 106 also generates attendee participation data. For example,the tracker 106 may monitor and log the number of attendees thatinteract with the presenter for each slide. Such interaction maycomprise attendees sending questions to the presenter via a chatfeature. The interaction may also comprise attendees providing a ratingfor particular slides. For example, the tracker 106 may monitor and logthe number of “likes” generated by attendees for a particular slide. Thetracker 106 also generates metadata relating to the content in eachslide. The metadata may comprise, for example, textual informationcontained in each slide (e.g., slide title, slide number, annotation,video), descriptive information relating to audio/video content in eachslide, the number of “likes” generated for each slide, chat exchangesproduced by attendees for each slide, and so on. The tracker 106 storesthe live webinar presentation as a webinar presentation video into adata store 116. The tracker 106 also stores the time stamp data, theattendee participation data, and the metadata into the data store 116.

For some embodiments, the tracker 106 includes a mode monitor 107configured to monitor activities by a user of a client device 122 (i.e.,an attendee) during a live webinar presentation. Indices correspondingto different portions of the webinar being recorded are generated basedon activities by the user. In this regard, indices are generated duringlive streaming of the live webinar presentation. For some embodiments,such indices may comprise time stamps when mode transitions occur whilethe webinar is streaming. These indices or time stamps are laterutilized to access the archived version of the webinar. In accordancewith some embodiments, a user of a client device 122 attending a livewebinar presentation may utilize various settings relating to viewing ofthe webinar presentation.

The settings utilized by the user while attending a live webinar may beassociated with different modes of operations. For example, a first modeof operation may include a setting that allows the user to view slidesof the webinar in a “slide only” mode, a setting that displays thewebinar in a picture-in-picture (PIP) mode with respect to a webcamvideo of the presenter, or a setting that presents the webinar in analigned mode where multiple slides are shown and aligned in a horizontalorientation or in a vertical orientation. A second mode of operation mayinclude a setting that allows the user to only view live video of thewebinar presenter captured by a webcam.

A third mode of operation may include a setting that allows the user tominimize a window displaying the webinar such that the present desktopis shown. A fourth mode of operation may include a setting that allowsthe user to initiate a whiteboard application, whereby the user can makeannotations while participating in the webinar. A fifth mode ofoperation may include a setting that allows the user to display a statusof the user. For example, the user may wish to post a notification tothe webinar presenter and to the other attendees that the user hasmomentarily stepped away and will shortly rejoin the webinar. The modemonitor 107 in the tracker 106 monitors for transitions between thevarious modes discussed above. Based on these mode transitions, variousindices of the webinar are generated where each index corresponds to aportion of the webinar.

A past attendee of a webinar presentation may later wish to view thesame webinar presentation again. Alternatively, an individual may wishto view a different webinar presentation that the individual did notattend. The attendee generates a request via one of the client devices122 a, 122 b, 122 c and transmits the request to the server computingdevice 102. The search engine 108 in the server computing device 102receives the request from a client device 122 to view an archivedwebinar presentation video in the data store 116. As one of ordinaryskill will appreciate, the archived webinar presentation video may beencoded in any of a number of formats including, but not limited to,Motion Picture Experts Group (MPEG)-1, MPEG-2, MPEG-4, H.264, ThirdGeneration Partnership Project (3GPP), 3GPP-2, Standard-Definition Video(SD-Video), High-Definition Video (HD-Video), Digital Versatile Disc(DVD) multimedia, Video Compact Disc (VCD) multimedia, High-DefinitionDigital Versatile Disc (HD-DVD) multimedia, Digital TelevisionVideo/High-definition Digital Television (DTV/HDTV) multimedia, AudioVideo Interleave (AVI), Digital Video (DV), QuickTime (QT) file, WindowsMedia Video (WMV), Advanced System Format (ASF), Real Media (RM), FlashMedia (FLV), an MPEG Audio Layer III (MP3), an MPEG Audio Layer II(MP2), Waveform Audio Format (WAV), Windows Media Audio (WMA), or anynumber of other digital formats.

The slide generator 110 is configured to partition the webinarpresentation video into slides based on time stamp data earlier capturedby the tracker 106 during live presentation of the webinar presentation.In some embodiments, the slide generator 110 may partition the webinarpresentation video into segments corresponding to the various slides.For example, a first video segment that spans the first 3 minutes of thewebinar presentation video may correspond to the first slide in thewebinar presentation, while a second video segment that spans the next 5minutes of the webinar presentation video may correspond to the secondslide in the webinar presentation.

Referring back to the mode monitor 107, for some embodiments, the modemonitor 107 outputs a trigger signal in response to detecting a modetransition. In response to receiving the trigger signal, the slidegenerator 110 takes images and/or video of the current portion of thelive webinar being streamed. That is, for some embodiments, the tracker106 may be utilized during a live webinar to cause the slide generator110 to capture and index portions of the webinar for later access. Forsome embodiments, the slide generator 110 may record a segment of thewebinar based on the trigger signal as a video, where the videocorresponds to a portion within the webinar.

The UI generator 112 is configured to cause a user interface to bedisplayed at the client device 122, where the user interface displays,for each slide, thumbnail graphical representations of each slide. Insome embodiments, thumbnail graphical representations for multimediacontent contained in each slide. The UI generator 112 is furtherconfigured to obtain one or more keywords from the client device 122.

The search engine 108 generates a grouping comprising one or morecandidate slides in the webinar presentation based on the at least onekeyword, the time stamp data, and the attendee participation data. Thegrouping of candidate slides represents slides that are most likely ofinterest of the viewer. Thumbnail graphical representations of thesecandidate slides are presented to the user to select from. The UIgenerator 112 obtains a selection of one or more slides in the groupingcomprising at least one candidate slides and provides access to theselected slide(s).

FIG. 2 illustrates a schematic block diagram of the server computingdevice 102 in FIG. 1. The server computing device 102 may be embodied inany one of a wide variety of wired and/or wireless computing devices,such as a server computer or any other system providing computingcapability. As discussed above, the server computing device 102 mayemploy a plurality of computing devices that can be arranged, forexample, in one or more server banks, computer banks or otherarrangements. Such computing devices can be located in a singleinstallation or can be distributed among different geographicallocations.

As shown in FIG. 2, the server computing device 102 comprises memory214, a processing device 202, a number of input/output interfaces 204, anetwork interface 206, a display 208, a peripheral interface 211, andmass storage 226, wherein each of these components are connected acrossa local data bus 210. The processing device 202 may include any custommade or commercially available processor, a central processing unit(CPU) or an auxiliary processor among several processors associated withthe server computing device 102, a semiconductor based microprocessor(in the form of a microchip), a macroprocessor, one or more applicationspecific integrated circuits (ASICs), a plurality of suitably configureddigital logic gates, and other well known electrical configurationscomprising discrete elements both individually and in variouscombinations to coordinate the overall operation of the computingsystem.

The memory 214 may include any one of a combination of volatile memoryelements (e.g., random-access memory (RAM, such as DRAM, and SRAM,etc.)) and nonvolatile memory elements (e.g., ROM, hard drive, tape,CDROM, etc.). The memory 214 typically comprises a native operatingsystem 216, one or more native applications, emulation systems, oremulated applications for any of a variety of operating systems and/oremulated hardware platforms, emulated operating systems, etc. Forexample, the applications may include application specific softwarewhich may comprise some or all the components of the server computingdevice 102 depicted in FIG. 1. In accordance with such embodiments, thecomponents are stored in memory 214 and executed by the processingdevice 202, thereby causing the processing device 202 to perform theoperations/functions disclosed herein. One of ordinary skill in the artwill appreciate that the memory 214 can, and typically will, compriseother components which have been omitted for purposes of brevity. Forsome embodiments, the components in the server computing device 102 maybe implemented by hardware and/or software.

Input/output interfaces 204 provide any number of interfaces for theinput and output of data. For example, where the server computing device102 comprises a personal computer, these components may interface withone or more user input/output interfaces 204, which may comprise akeyboard or a mouse, as shown in FIG. 2. The display 208 may comprise acomputer monitor, a plasma screen for a PC, a liquid crystal display(LCD) on a hand held device, a touchscreen, or other display device.

In the context of this disclosure, a non-transitory computer-readablemedium stores programs for use by or in connection with an instructionexecution system, apparatus, or device. More specific examples of acomputer-readable medium may include by way of example and withoutlimitation: a portable computer diskette, a random access memory (RAM),a read-only memory (ROM), an erasable programmable read-only memory(EPROM, EEPROM, or Flash memory), and a portable compact disc read-onlymemory (CDROM) (optical).

Reference is made to FIG. 3, which is a flowchart 300 in accordance withvarious embodiments for providing random access of multimedia content inrecorded webinar presentations performed by the server computing device102 of FIG. 1. It is understood that the flowchart 300 of FIG. 3provides merely an example of the different types of functionalarrangements that may be employed to implement the operation of thevarious components of the server computing device 102. As analternative, the flowchart 300 of FIG. 3 may be viewed as depicting anexample of steps of a method implemented in the server computing device102 according to one or more embodiments.

Although the flowchart 300 of FIG. 3 shows a specific order ofexecution, it is understood that the order of execution may differ fromthat which is depicted. For example, the order of execution of two ormore blocks may be scrambled relative to the order shown. Also, two ormore blocks shown in succession in FIG. 3 may be executed concurrentlyor with partial concurrence. It is understood that all such variationsare within the scope of the present disclosure.

At block 310, the server computing device 102 receives user input from apresenter to initiate a live webinar presentation comprising a pluralityof slides. For some embodiments, the user input comprises a voicecommand directing the server computing device 102 to locate a slide inthe live webinar presentation. In block 320, the server computing device102 monitors slide transitions triggered by the presenter and loggingtime stamp data for each slide transition.

In block 330, the server computing device 102 generates attendeeparticipation data. For some embodiments, generating the attendeeparticipation data may comprise tracking a number of attendees viewingeach slide in the webinar presentation, tracking chat content generatedby attendees for each slide in the webinar presentation, and/or trackinga list of attendees. For some embodiments, tracking the chat contentgenerated by the attendees for each slide in the webinar presentationmay comprise identifying words with a threshold occurrence rate in thechat content and storing the identified words.

In block 340, the server computing device 102 stores the live webinarpresentation as a webinar presentation video, the time stamp data, andthe attendee participation data. For some embodiments, a slide title,slide numbering, annotation, and/or animation is also stored with thewebinar presentation video. In block 350, the server computing device102, obtains a request from a client device 122 (FIG. 1) to view thestored webinar presentation video. In block 360, the server computingdevice 102 partitions the webinar presentation video into slides basedon the time stamp data.

In block 370, the server computing device 102 causes a user interface tobe displayed at the client device 122, where the user interfacedisplays, for each slide, thumbnail graphical representations of eachslide for playback of the stored webinar presentation based on athumbnail graphical representation selected by the user. For someembodiments, playback of the stored webinar presentation is furtherbased on attendee participation data selected by the user. For someembodiments, the server computing device 102 may be further configuredto obtain at least one keyword from the client device. The servercomputing device 102 generates and displays a grouping comprising atleast one candidate slide in the webinar presentation based on the atleast one keyword, the time stamp data, and the attendee participationdata.

The server computing device 102 may be further configured to obtain aselection of a slide in the grouping comprising at least one candidateslide and perform playback of a portion of the webinar presentationvideo corresponding to the selected slide. The grouping comprising atleast one candidate slide in the webinar presentation may be generatedbased on the attendee participation data by including slides with ahighest occurrence of words in the grouping comprising the at least onecandidate slide. The grouping comprising at least one candidate slide inthe webinar presentation may be generated based on the time stamp byanalyzing the time stamp data for each slide and including slides viewedfor at least a threshold time interval in the grouping comprising the atleast one candidate slide. For example, slides viewed for at least 20seconds may be included in the grouping.

For some embodiments, the server computing device 102 is furtherconfigured to obtain user input indicating viewer approval of slides andtracking slides corresponding to the user input as viewer approvedslides. For such embodiments, the grouping comprising at least onecandidate slide in the webinar presentation is generated based on viewerapproved slides have a threshold level of viewer approval.

For some embodiments, the server computing device 102 may be furtherconfigured to obtain a voice command from the client device and performspeech-to-text conversion on the voice command to obtain at least onekeyword. For such embodiments, the server computing device 102 isfurther configured to generate a grouping comprising at least onecandidate slide in the webinar presentation based on the at least onekeyword, the time stamp data, and the attendee participation data. Theserver computing device 102 is further configured to obtain a selectionof a slide in the grouping comprising at least one candidate slide andperforming playback of a portion of the webinar presentation videocorresponding to the selected slide. Thereafter, the process in FIG. 3ends.

Having described the basic framework of a system for providing randomaccess of multimedia content in recorded webinar presentations,reference is made to the following figures, which illustrate variousfeatures according to various embodiments. FIG. 4 illustratespartitioning of a webinar presentation video into slides based on thetime stamp data according to various embodiments of the presentdisclosure. For some embodiments, the search engine 108 in the servercomputing device 102 (FIG. 1) obtains a request from a user at a clientdevice 122 (FIG. 1) to access an archived webinar presentation video118. In response, the slide generator 110 in the server computing device102 retrieves the requested webinar presentation video 118 from the datastore 116. Based on the time stamp data logged by the tracker 106 duringlive presentation of the requested webinar presentation video 118, theslide generator 110 partitions the webinar presentation video 118 intothe slides that make up the webinar presentation.

FIG. 5 illustrates an example user interface 500 provided on a displayof a client device 122 in FIG. 1 for accessing slides in a webinarpresentation video according to various embodiments of the presentdisclosure. Once the slide generator 110 partitions the webinarpresentation video 118 into the slides, the UI generator 112 in theserver computing device 102 causes a user interface 500 to be displayedat the client device 122. For some embodiments, the user interfacedisplays, for each slide, thumbnail graphical representations of eachslide and multimedia content contained in each slide. Furthermore, tofacilitate access to each slide, the UI generator 112 may be furtherconfigured to superimpose text 502 on each slide thumbnail graphicalrepresentation to indicate the slide number. In the example userinterface 500 shown, the UI generator 112 superimposes the text “Slide#” on each thumbnail graphical representation.

FIG. 6 illustrates an example user interface 600 provided on a displayof a client device 122 in FIG. 1 for accessing multimedia content in aslide in a webinar presentation video according to various embodimentsof the present disclosure. For some embodiments, the user interface 600includes thumbnail graphical representations for multimedia contentcontained in each slide. In the example shown, slide #3 includes both anaudio file and a video file presented during live presentation of thewebinar. The user at the client device 122 can utilized the userinterface 600 to select one of the thumbnail graphical representationsfor playback. The webinar service 104 then performs playback of theselected multimedia content based on the time stamp data logged earlierby the tracker 106 during live presentation of the webinar.

FIG. 7 illustrates an example user interface provided on a display of aclient device 122 in FIG. 1 for performing a keyword search for purposesof accessing slides in a webinar presentation video according to variousembodiments of the present disclosure. For some embodiments, the usercan conduct a key word search of the slides in the webinar presentationvideo 118. The search engine 108 obtains a word or phrase and conducts asearch based on metadata generated by the tracker 106 during livepresentation of the webinar presentation. For some embodiments, thesearch engine 108 may be configured to perform a search and generate agrouping of candidate slides, as described earlier. In general, thegrouping of candidate slides likely represents slides that contain moresignificant content that may be of interest to the viewer. In theexample shown, various slides with the phrase “financial results” arefound by the search engine 108 and presented on the user interface 700.

FIG. 8 illustrates an example user interface 800 provided on a displayof a client device 122 in FIG. 1 during live presentation of a webinaraccording to various embodiments of the present disclosure. As discussedabove, a user of a client device 122 (FIG. 1) attending a live webinarpresentation may utilize various settings relating to viewing of thewebinar presentation. Such settings may be associated with differentmodes of operations. As shown in FIG. 8, a first mode of operation mayinclude a setting that allows the user to view slides of the webinar ina “slide only” mode, a setting that displays the webinar in apicture-in-picture (PIP) mode with respect to a webcam video of thepresenter, or a setting that presents the webinar in an aligned modewhere multiple slides are shown and aligned in a horizontal orientationor in a vertical orientation.

As further shown in the example user interface 800 of FIG. 8, a secondmode of operation may include a setting that allows the user to onlyview live video of the webinar presenter captured by a webcam. A thirdmode of operation may include a setting that allows the user to minimizea window displaying the webinar such that the present desktop is shown.A fourth mode of operation may include a setting that allows the user toinitiate a whiteboard application, whereby annotations are made by thepresenter during the webinar. A fifth mode of operation may include asetting that allows the user to display a status of the user. Forexample, the user may wish to post a notification to the webinarpresenter and to the other attendees that the user has momentarilystepped away and will shortly rejoin the webinar. As discussed above,the mode monitor 107 in the tracker 106 monitors for transitions betweenthe various modes discussed above. Based on these mode transitions,various indices of the webinar are generated where each indexcorresponds to a portion of the webinar.

FIG. 9 illustrates transition between a first mode of operation to asecond mode of operation by a user of a client device 122 in FIG. 1during live presentation of a webinar according to various embodimentsof the present disclosure. When the user transitions between the firstmode of operation (i.e., slide only setting) to the second mode ofoperation (i.e., webcam only setting), the mode monitor 107 generates atrigger signal that causes the slide generator 110 to generate an indexfor that particular instance in the live webinar. The slide generator110 also captures video of that particular instance in the live webinarfor later access.

FIG. 10 illustrates transition between a second mode of operation to afirst mode of operation by a user of a client device 122 in FIG. 1during live presentation of a webinar according to various embodimentsof the present disclosure. When the user transitions between the secondmode of operation (i.e., webcam only setting) to the first mode ofoperation (i.e., PiP setting), the mode monitor 107 generates a triggersignal that causes the slide generator 110 to generate an index for thatparticular instance in the live webinar. The slide generator 110 alsocaptures video of that particular instance in the live webinar for lateraccess.

FIG. 11 illustrates transition between a first mode of operation to afourth mode of operation by a user of a client device in FIG. 1 duringlive presentation of a webinar according to various embodiments of thepresent disclosure. When the user transitions between the first mode ofoperation (i.e., slide only setting) to the fourth mode of operation(i.e., whiteboard setting), the mode monitor 107 generates a triggersignal that causes the slide generator 110 to generate an index for thatparticular instance in the live webinar. The slide generator 110 alsocaptures video of that particular instance in the live webinar for lateraccess.

FIG. 12 illustrates transition between a fourth mode of operation to afifth mode of operation by a user of a client device in FIG. 1 duringlive presentation of a webinar according to various embodiments of thepresent disclosure. When the user transitions between the fourth mode ofoperation (i.e., whiteboard setting) to the fifth mode of operation(i.e., away notifier setting), the mode monitor 107 generates a triggersignal that causes the slide generator 110 to generate an index for thatparticular instance in the live webinar. The slide generator 110 alsocaptures video of that particular instance in the live webinar for lateraccess. For some embodiments, the host can select one or more slides toremain hidden before the host begins presenting the live webinar suchthat the hidden slides are not part of the live webinar. In this regard,when the user performs playback of the archived webinar, none of thehidden slides are part of the archived webinar. Note that althoughcertain slides may be selected to be hidden prior to the live webinar,the host can later elect to cause the previously-hidden slides to bepart of the live webinar.

Reference is now made to FIGS. 13-18, which illustrate the content of achat room session ordered according to sorting criteria selected by theuser according to various embodiments. FIG. 13 illustrates an exampleuser interface 1300 provided on a display of a client device 122 in FIG.1 for sorting content of a chat room session according to variousembodiments. The user interface 1300 includes a slide section 1312, apresentation section 1310, and a chat session section 1314. The userinterface 1300 includes a user interface control 1302 for displaying orhiding a current chat session. The user interface 1300 also includes auser interface control 1304 for specifying sorting criteria forrearranging content of the chat session. By default, the content of thechat session is sorted according to time starting with the entry withthe earliest time stamp at the top.

FIG. 14 illustrates selectable sorting criteria in the example userinterface 1300 of FIG. 13 according to various embodiments, whereselection is made via the user interface control 1304. FIG. 15illustrates selection of sorting criteria by the user in the exampleuser interface 1300 of FIG. 13 according to various embodiments. In theexample shown, the user elects to sort the content of the chat sessionaccording to the number of likes associated with each entry.

FIG. 16 illustrates application of the selected sorting criteria in theexample user interface of FIG. 13 according to various embodiments. Asshown, the entries of the chat session are rearranged and sortedstarting with the entry with the most number of likes at the top. FIG.17 illustrates selection of other sorting criteria by the user in theexample user interface 1300 of FIG. 13 according to various embodiments.In the example shown, the user elects to sort the content of the chatsession according to both the number of likes and according to the mostrecent entries. FIG. 18 illustrates application of the new selectedsorting criteria in the example user interface 1300 of FIG. 13 accordingto various embodiments. As shown, the chat session section 1314 ispartitioned into two sections. The first section sorts entries of thechat session according to number of likes starting with the entry withthe most number of likes at the top. The second section sorts entries ofthe chat session starting with the entry with the earliest time stamp atthe top.

It should be emphasized that the above-described embodiments of thepresent disclosure are merely possible examples of implementations setforth for a clear understanding of the principles of the disclosure.Many variations and modifications may be made to the above-describedembodiment(s) without departing substantially from the spirit andprinciples of the disclosure. All such modifications and variations areintended to be included herein within the scope of this disclosure andprotected by the following claims.

1. A method implemented in a server computing device, comprising:receiving user input from a presenter to initiate a live webinarpresentation comprising a plurality of slides; responsive to receivingthe user input to initiate the live webinar presentation, performing thesteps of: monitoring slide transitions triggered by the presenter andlogging time stamp data for each slide transition; generating attendeeparticipation data; and storing the live webinar presentation as awebinar presentation video, the time stamp data, and the attendeeparticipation data; obtaining a request from a client device to view thestored webinar presentation video; partitioning the webinar presentationvideo into slides based on the time stamp data; and causing a userinterface to be displayed at the client device, the user interfacedisplaying, for each slide, thumbnail graphical representations of eachslide for playback of the stored webinar presentation based on athumbnail graphical representation selected by the user.
 2. The methodof claim 1, wherein at least one of: a slide title, slide numbering,annotation, and animation is stored with the webinar presentation video.3. The method of claim 1, wherein playback of the stored webinarpresentation video is further based on attendee participation dataselected by the user.
 4. The method of claim 1, wherein generating theattendee participation data comprises at least one of: tracking a numberof attendees viewing each slide in the webinar presentation; trackingchat content generated by attendees for each slide in the webinarpresentation; and tracking a list of attendees.
 5. The method of claim4, wherein tracking the chat content generated by the attendees for eachslide in the webinar presentation comprises: identifying words with athreshold occurrence rate in the chat content; and storing theidentified words.
 6. The method of claim 1, further comprising:obtaining at least one keyword from the client device; generating anddisplaying a grouping comprising at least one candidate slide in thewebinar presentation based on the at least one keyword, the time stampdata, and the attendee participation data; and obtaining a selection ofa slide in the grouping comprising at least one candidate slide andperforming playback of a portion of the webinar presentation videocorresponding to the selected slide.
 7. The method of claim 6, whereingenerating the grouping comprising at least one candidate slide in thewebinar presentation based on the attendee participation data comprisesincluding slides with a highest occurrence of words in the groupingcomprising the at least one candidate slide.
 8. The method of claim 6,wherein generating the grouping comprising at least one candidate slidein the webinar presentation based on the time stamp data comprisesanalyzing the time stamp data for each slide and including slides viewedfor at least a threshold time interval in the grouping comprising the atleast one candidate slide.
 9. The method of claim 6, wherein responsiveto receiving the user input to initiate the webinar presentation,further performing the step of: obtaining user input indicating viewerapproval of slides and tracking slides corresponding to the user inputas viewer approved slides.
 10. The method of claim 9, wherein generatingthe grouping comprising at least one candidate slide in the webinarpresentation is performed further based on viewer approved slides have athreshold level of viewer approval.
 11. The method of claim 1, whereinthe user input comprises a voice command directing the server computingdevice to locate a slide in the live webinar presentation.
 12. Themethod of claim 1, further comprising: obtaining a voice command fromthe client device; performing speech-to-text conversion on the voicecommand to obtain at least one keyword; generating a grouping comprisingat least one candidate slide in the webinar presentation based on the atleast one keyword, the time stamp data, and the attendee participationdata; and obtaining a selection of a slide in the grouping comprising atleast one candidate slide and performing playback of a portion of thewebinar presentation video corresponding to the selected slide.
 13. Asystem, comprising: a memory storing instructions; a processor coupledto the memory and configured by the instructions to at least: receiveuser input from a presenter to initiate a live webinar presentationcomprising a plurality of slides; responsive to receiving the user inputto initiate the live webinar presentation, perform the steps of:monitoring slide transitions triggered by the presenter and logging timestamp data for each slide transition; generating attendee participationdata; and storing the live webinar presentation as a webinarpresentation video, the time stamp data, and the attendee participationdata; obtain a request from a client device to view the stored webinarpresentation video; partition the webinar presentation video into slidesbased on the time stamp data; and cause a user interface to be displayedat the client device, the user interface displaying, for each slide,thumbnail graphical representations of each slide for playback of thestored webinar presentation based on a thumbnail graphicalrepresentation selected by the user.
 14. The system of claim 13, whereinthe processor is further configured to perform the steps of: obtainingat least one keyword from the client device; generating and displaying agrouping comprising at least one candidate slide in the webinarpresentation based on the at least one keyword, the time stamp data, andthe attendee participation data; and obtaining a selection of a slide inthe grouping comprising at least one candidate slide and performingplayback of a portion of the webinar presentation video corresponding tothe selected slide.
 15. The system of claim 14, wherein the processorgenerates the attendee participation data by tracking a number ofattendees viewing each slide in the webinar presentation; tracking chatcontent generated by attendees for each slide in the webinarpresentation; and tracking a list of attendees.
 16. The system of claim15, wherein the processor tracks the chat content generated by theattendees for each slide in the webinar presentation by identifyingwords with a threshold occurrence rate in the chat content and storingthe identified words.
 17. The system of claim 16, wherein the processorgenerates the grouping comprising at least one candidate slide in thewebinar presentation based on the attendee participation data byincluding slides with a highest occurrence of words in the groupingcomprising the at least one candidate slide.
 18. The system of claim 14,wherein the processor generates the grouping comprising at least onecandidate slide in the webinar presentation based on the time stamp databy analyzing the time stamp data for each slide and including slidesviewed for at least a threshold time interval in the grouping comprisingthe at least one candidate slide.
 19. The system of claim 13, whereinresponsive to receiving the user input to initiate the webinarpresentation, the processor if further configured to obtain user inputindicating viewer approval of slides and tracking slides correspondingto the user input as viewer approved slides.
 20. The system of claim 14,wherein the processor generates the grouping comprising at least onecandidate slide in the webinar presentation further based on viewerapproved slides have a threshold level of viewer approval.
 21. Anon-transitory computer-readable storage medium storing instructions tobe implemented by a computing device having a processor, wherein theinstructions, when executed by the processor, cause the computing deviceto at least: receive user input from a presenter to initiate a livewebinar presentation comprising a plurality of slides; responsive toreceiving the user input to initiate the live webinar presentation,perform the steps of: monitoring slide transitions triggered by thepresenter and logging time stamp data for each slide transition;generating attendee participation data; and storing the live webinarpresentation as a webinar presentation video, the time stamp data, andthe attendee participation data; obtain a request from a client deviceto view the stored webinar presentation video; partition the webinarpresentation video into slides based on the time stamp data; and cause auser interface to be displayed at the client device, the user interfacedisplaying, for each slide, thumbnail graphical representations of eachslide for playback of the stored webinar presentation based on athumbnail graphical representation selected by the user.